package main

import "fmt"

func main() {
	fmt.Printf("%T \n", sum)
	fmt.Println(sum(3, 4)) //直接调用
	f := sum               //有名函数可以赋值给变量
	fmt.Println(f(3, 4))

	fmt.Println(do(f, 1, 2)) //这样好像实现了钩子函数。
}

func sum(a, b int) int {
	return a + b
}

type op func(int, int) int //定义一个函数类型

func do(f op, a, b int) int {
	return f(a, b)
}
